Skip to content

feat: support variable hybrid clip lengths#54

Merged
britle20 merged 2 commits into
developfrom
feat/48-variable-hybrid-clip-length
Jun 14, 2026
Merged

feat: support variable hybrid clip lengths#54
britle20 merged 2 commits into
developfrom
feat/48-variable-hybrid-clip-length

Conversation

@britle20

Copy link
Copy Markdown
Collaborator

Summary

  • Adds 1, 2, and 4 bar hybrid clip length support using tick-based lengthTicks values.
  • Derives drum sequencer and piano roll grids from clip length instead of assuming one bar.
  • Uses the selected clip length for PAT loop playback by passing loopEndTick to the audio engine.
  • Requires confirmation before shortening would remove or trim events outside the new clip length.

Changes

  • Adds hybrid clip length helpers, grid count helpers, and length update/trim logic in the model layer.
  • Adds a compact clip length control to the hybrid clip editor header.
  • Extends drum sequencer rendering to 16/32/64 steps and piano roll rendering to 32/64/128 columns.
  • Updates docs and Active Issue Order for Variable hybrid clip length #48.
  • Adds unit tests for clip length ticks, grid derivation, shortening behavior, longer-clip events, and arrangement default instance length.

Testing

  • npm run typecheck --if-present: pass
  • npm run lint --if-present: pass
  • npm run test --if-present: pass, 13 files / 83 tests
  • npm run build --if-present: pass
  • npm run dev -- --host 127.0.0.1 --port 5173: started on 5174 because 5173 was occupied; curl -I http://127.0.0.1:5174/ returned 200 OK

Notes / Limitations

  • Browser-level manual checks still need user review: change a clip to 2/4 bars, add events in later bars, play the PAT loop, and confirm shortening prompts before trimming/removing out-of-range events.
  • Existing arrangement clip instances keep their stored lengthTicks; newly dropped hybrid clip instances use the source clip length.
  • Longer piano roll grids scroll horizontally, while the 1-bar view remains compact.

Closes #48

@britle20 britle20 merged commit 5890bfd into develop Jun 14, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant